import json
import re
from Agent.llm import llm

def format_question(question):
    content = [i for i in re.split('[，,。.?？]',question) if i]
    if len(content)>4:
        prompt = '''
你的任务是做用户的意图识别，如果用户的意图很明显，信息含量很高，不用做任何改变。
你在改写的过程中，要保留用户给出的关键信息和专业术语，这些关键信息包括：
1.意图中的公司名称，年份，法院名称，案号，日期等实体信息。
2.全资子公司，注册表，工商信息等专有名词。
3.()中的信息也不要省略，因为可能是用户想强烈表达的
4.如果是明显的输入错误，你可以修复用户的输入错误，但是不能修改用户输入的实体。

用户的描述有可能为：我是谁谁，我在什么场景，我遇到了什么问题，我想要做什么，你需要删除的是:我是谁谁，我在什么场景这个部分的内容，保留用户遇到的为你和想要做的事情，如果没有前面的场景，不要做任何改变。
按照以下示例分析后输出。

示例：
用户问题：我是某企业的法务经理，最近公司涉及一项与安徽艾可蓝环保股份有限公司的法律纠纷。为了更好地准备应诉材料并安排出庭事宜，我需要确认这家公司作为被告的案件具体是在什么地方审理的。由于案件涉及的法律程序较为复杂，请帮我查询一下该案件的审理地点。
解析：我是某企业的法务经理，最近公司涉及一项与安徽艾可蓝环保股份有限公司的法律纠纷。 （有效信息为安徽艾可蓝环保股份有限公司）。
为了更好地准备应诉材料并安排出庭事宜，我需要确认这家公司作为被告的案件具体是在什么地方审理的。 （有效信息为用户需求我需要确认这家公司作为被告的案件具体是在什么地方审理的。）
由于案件涉及的法律程序较为复杂，请帮我查询一下该案件的审理地点。（有效信息为获取改案件的审理地点）
删除无用信息后的问题：我需要确认安徽艾可蓝环保股份有限公司作为被告的案件的审理地点。

用户问题：我是某投资公司的法律顾问，我们正在评估一项与688579有关的投资风险。为了全面了解该公司的法律状况，我们需要确认与其相关联的案件是在哪个级别的法院审理的。请帮我查询一下与公司代码为688579有关联的案件审理法院的级别。
解析：我是某投资公司的法律顾问，我们正在评估一项与688579有关的投资风险。 （有效信息为688579）。
为了全面了解该公司的法律状况，我们需要确认与其相关联的案件是在哪个级别的法院审理的（有效信息为我们需要确认与其相关联的案件是在哪个级别的法院审理的。）
请帮我查询一下与公司代码为688579有关联的案件审理法院的级别。（有效信息为查询一下与公司代码为688579有关联的案件审理法院的级别）
删除无用信息后的问题：请帮我查询一下与公司代码为688579有关联的案件审理法院的级别。

用户问题：我是某咨询公司的法务人员，我们准备起诉一家客户，想要准备起诉书。我们已经查询过该客户的工商信息中的法人及电话，但电话打不通，人名也对不上，请帮我查询一下该客户吧，公司的全称为深圳市科创电子有限公司。
分析：我是某咨询公司的法务人员，我们准备起诉一家客户，想要准备起诉书。（无效信息，为背景介绍）
我们已经查询过该客户的工商信息中的法人及电话，但电话打不通，人名也对不上。（有效信息为用户查询过该客户的工商信息中的法人及电话，但电话打不通，人名也对不上）
请帮我查询一下该客户吧，公司的全称为深圳市科创电子有限公司。（有效信息为用户需要查询客户信息，公司的全称为深圳市科创电子有限公司）
删除无用信息后的问题：公司的全称为深圳市科创电子有限公司，用户需要查询客户信息的法人和电话。

用户问题：我是某公司的法务人员，我们公司最近在准备并购一家子公司，但是在尽职调查过程中发现该子公司涉及多起法律诉讼，想要了解一下这些诉讼的具体情况。我们已经查询了该子公司的基本工商信息，但是没有找到相关的法律文书。请帮我查询一下关于该子公司涉案金额大于10万的法律文书信息吧，子公司的名称是北京华大基因科技有限公司。
分析：我是某公司的法务人员，我们公司最近在准备并购一家子公司，但是在尽职调查过程中发现该子公司涉及多起法律诉讼，想要了解一下这些诉讼的具体情况。（无效信息，为背景介绍）
我们已经查询了该子公司的基本工商信息，但是没有找到相关的法律文书。（有效信息为用户查询了该子公司的基本工商信息但没有找到相关的法律文书）
请帮我查询一下关于该子公司的法律文书信息吧，子公司的名称是北京华大基因科技有限公司。（有效信息为用户需要查询子公司的法律文书信息，子公司的名称是北京华大基因科技有限公司）
删除无用信息后的问题：公司的名称是北京华大基因科技有限公司，用户需要查询该公司涉案金额大于10万的法律文书信息。

以下是一个不需要删除的示例，其中每一个部分都很重要，重要信息包含时间法院公司等实体信息，遇到此类问题不要删除，也不要省略简写，直接输出原题。
用户问题：泰山小（化名）与一公司在19-20年有着多起民事纠纷。19年该公司状告泰山小，被江西省吉安市中级人民法院驳回，该案为19年该院的民初50号案，我想知道双方在此类案由上的其他交锋情况，请详叙其他案件的裁决结果，以及在这些案件上裁决结果里提到的所有案件受理费用总和。
分析：泰山小（化名）与一公司在19-20年有着多起民事纠纷。 （有效信息为时间）
19年该公司状告泰山小，被江西省吉安市中级人民法院驳回，该案为19年该院的民初50号案，（有效信息为时间和法院名称）
我想知道双方在此类案由上的其他交锋情况，请详叙其他案件的裁决结果，以及在这些案件上裁决结果里提到的所有案件受理费用总和。（有效信息为用户需求）
无无用信息返回原题：泰山小（化名）与一公司在19-20年有着多起民事纠纷。19年该公司状告泰山小，被江西省吉安市中级人民法院驳回，该案为19年该院的民初50号案，我想知道双方在此类案由上的其他交锋情况，请详叙其他案件的裁决结果，以及在这些案件上裁决结果里提到的所有案件受理费用总和。

如果题目已经接近标准，不要做任何改变。仅仅输出修改后的题目。'''
        messages = [{'role': 'system', 'content': prompt}, {'role': 'user', 'content': question+'请仅输出题目：'}]
        questions = llm(messages)
        return questions
    return question
